package com.example.springboot.common;
import lombok.*;
/**
 * Controller统一返回的包装类
 * */

/**
 * 功能：
 * 作者：旺旺威化饼
 * 日期：2025/03/01 15:26
 **/
@Getter
@Setter
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class Result {
    public static final String CODE_SUCCESS="200";
    public static final String CODE_AUTH_ERROR="401";
    public static final String CODE_SYS_ERROR="500";

    /**
     * 请求的返回编码 200 401 404 500
     * 编码表示这次请求是成功还是失败
     * 或者说 可以看出失败的类型是什么
     * */
    private String code;

    /**
     * msg表示错误的详细信息
     * */
    private String msg;

    /**
     * 数据从什么地方出去？
     * 就是这个data
     * user Object类型就是User
     * List Object类型就是List
     * Map Object类型就是Map
     * */
    private Object data;

    public static Result success(){
        return Result.builder().code(CODE_SUCCESS).msg("请求成功").build();
    }
    public static Result success(Object data){
        return new Result(CODE_SUCCESS,"请求成功",data);
    }
    public static Result error(String msg){
        return new Result(CODE_SYS_ERROR,msg,null);
    }
    public static Result error(String code, String message){
        return new Result(CODE_SYS_ERROR,"用户名不存在",null);
    }

}
